package com.quanyan.scheduler.task;

import com.github.ltsopensource.core.domain.Job;
import com.github.ltsopensource.jobclient.JobClient;
import com.github.ltsopensource.jobclient.domain.Response;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * @author xian-guo
 */
@Component("timerTaskJob")
public class TimerTaskJob {

    @Autowired
    private JobClient jobClient;

    public void executeTask(){
        //
        //job.setPriority(50);//设置优先级,(数值越大,优先级越低)默认是100
        //job.setRelyOnPrevCycle(true);//是否依赖上一个执行周期，默认是true
        //job.setMaxRetryTimes(15);//设置最大尝试次数，默认是10次
        //job.setTriggerTime(DateUtils.addHour(new Date(), 8).getTime()); //设置指定时间执行，8小时后触发
        //job.setCronExpression("0 0 23 * * ?");//设置指定时间触发，每天晚上23点执行

        Job job = new Job();
        job.setTaskId("task_weixin_token");//每个任务必须指定唯一
        job.setParam("type","typeA");//执行多个任务，传递参数
        job.setTaskTrackerNodeGroup("taskTracker_scheduler");//每个模块指定不同的名称，但同一个模块不同任务必须相同
        job.setNeedFeedback(true);
        job.setReplaceOnExist(true);        // 当任务队列中存在这个任务的时候，是否替换更新
        job.setRepeatCount(-1);             // 无限循环
        job.setRepeatInterval(7000 * 1000L);  //7000s执行一次
        //job.setCronExpression("0 0 0 * * ?");
        Response response = jobClient.submitJob(job);
        System.out.println("定时任务执行了---------->>>>>>>>>>>>>>>>>"+response);




    }

}
